.TH std::ranges::elements_view::elements_view 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ranges::elements_view::elements_view \- std::ranges::elements_view::elements_view

.SH Synopsis
   elements_view() requires std::default_initializable<V> = default; \fB(1)\fP \fI(since C++20)\fP
   constexpr explicit elements_view( V base );                       \fB(2)\fP \fI(since C++20)\fP

   Constructs an elements_view.

   1) Default constructor. Value-initializes the underlying view. After construction,
   base() returns a copy of V().
   2) Initializes the underlying view with std::move(base).

.SH Parameters

   base - the underlying view

.SH Example


// Run this code

 #include <array>
 #include <iostream>
 #include <ranges>
 #include <tuple>

 void println(auto const& v)
 {
     for (auto const& e : v)
         std::cout << e << ' ';
     std::cout << '\\n';
 }

 int main()
 {
     using namespace std::literals;

     const std::array<std::tuple<int, char, std::string>, 2> vt
     {
         std::tuple{1, 'A', "α"s},
         std::tuple{2, 'B', "β"s},
     };

     [[maybe_unused]]
     auto empty = std::views::elements<0>;

     println(std::views::elements<0>(vt));
     println(std::views::elements<1>(vt));
     println(std::views::elements<2>(vt));
 }

.SH Output:

 1 2
 A B
 α β
